package com.sky.service;

import com.sky.dto.EmployeeDTO;
import com.sky.dto.EmployeeLoginDTO;
import com.sky.dto.EmployeePageQueryDTO;
import com.sky.dto.PasswordEditDTO;
import com.sky.entity.Employee;
import com.sky.result.PageResult;

public interface EmployeeService {

    /**
     * 员工登录
     *
     * @param employeeLoginDTO
     * @return
     */
    Employee login(EmployeeLoginDTO employeeLoginDTO);

    /**
     * 新增员工
     * @param dto
     */

    void addEmp(EmployeeDTO dto);

    /**
     * 员工管理-分页-service层
     * @param dto
     * @return
     */

    PageResult getPage(EmployeePageQueryDTO dto);

    void updateStatus(Integer status, Long id);

    /**
     * 根据id获取单个员工
     * @param id
     * @return
     */

    Employee getEmpById(Long id);

/**
 * 更新员工信息的方法
 * 该方法接收一个EmployeeDTO对象作为参数，用于更新员工的相关信息
 *
 * @param dto 包含员工更新信息的DTO(Data Transfer Object)对象
 *            通过该对象传递需要更新的员工数据
 */
    void updateEmp(EmployeeDTO dto);

    void updatePassword(PasswordEditDTO dto);
}
